home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 3.0a2 / Libraries / ErrorMgr.r < prev    next >
Text File  |  1991-05-01  |  17KB  |  920 lines

  1. /*
  2.     ErrorMgr.r
  3.     MacApp® Error manager Resources
  4.     Copyright © 1990 Apple Computer, Inc.    All rights reserved.
  5. */
  6.  
  7. /* • Auto-Include the requirements for this source */
  8. #ifndef __TYPES.R__
  9. #include "Types.r"
  10. #endif
  11.  
  12. #ifndef __MacAppTypes__
  13. #include "MacAppTypes.r"
  14. #endif
  15.  
  16. #ifndef __ViewTypes__
  17. #include "ViewTypes.r"
  18. #endif
  19.  
  20. /* NOTE:
  21.  
  22.     By Toolbox convention, the OK button is item 1 and the Cancel button
  23.         is item 2.
  24. */
  25.  
  26. /* one of 3 alerts for indicating errors */
  27. resource 'DITL' (phGenError,
  28. #if qNames
  29.     "phGenError",
  30. #endif
  31.     purgeable) {
  32.     {    /* array DITLarray: 3 elements */
  33.         /* [1] */
  34.         {120, 198, 138, 272},
  35.         Button {
  36.             enabled,
  37.             "OK"
  38.         };
  39.         /* [2] */
  40.         /*    ^0 = reason for error; e.g., 'the disk is locked'
  41.             ^1 = how to recover; e.g., 'Eject the disk and move the tab.'
  42.             ^2 = what operation failed; e.g., 'save the document'
  43.         */
  44.         
  45.         {10, 70, 115, 272},
  46.         StaticText {
  47.             disabled,
  48.             "Could not ^2 because ^0.  ^1"
  49.         };
  50.         /* [3] */
  51.         {10, 20, 42, 52},
  52.         Icon {
  53.             disabled,
  54.             0
  55.         }
  56.     }
  57. };
  58.  
  59. resource 'DITL' (phCmdErr,
  60. #if qNames
  61.     "phCmdErr",
  62. #endif
  63.     purgeable) {
  64.     {    /* array DITLarray: 3 elements */
  65.         /* [1] */
  66.         {120, 198, 138, 272},
  67.         Button {
  68.             enabled,
  69.             "OK"
  70.         };
  71.         /* [2] */
  72.         /*    ^0 = reason for error; e.g., 'the disk is locked'
  73.             ^1 = how to recover; e.g., 'Eject the disk and move the tab.'
  74.             ^2 = what menu command failed; e.g., 'New'
  75.         */
  76.         
  77.         {10, 70, 115, 272},
  78.         StaticText {
  79.             disabled,
  80.             "Could not complete the “^2” command because ^0.  ^1"
  81.         };
  82.         /* [3] */
  83.         {10, 20, 42, 52},
  84.         Icon {
  85.             disabled,
  86.             0
  87.         }
  88.     }
  89. };
  90.  
  91. resource 'DITL' (phUnknownErr,
  92. #if qNames
  93.     "phUnknownErr",
  94. #endif
  95.     purgeable) {
  96.     {    /* array DITLarray: 3 elements */
  97.         /* [1] */
  98.         {120, 198, 138, 272},
  99.         Button {
  100.             enabled,
  101.             "OK"
  102.         };
  103.         /* [2] */
  104.         /*    ^0 = reason for error; e.g., 'the disk is locked'
  105.             ^1 = how to recover; e.g., 'Eject the disk and move the tab.'
  106.             This alert is used if the program does not provide any indication
  107.                 of what operation failed.
  108.         */
  109.         
  110.         {10, 70, 115, 272},
  111.         StaticText {
  112.             disabled,
  113.             "Could not complete your request because "
  114.             "^0.  ^1"
  115.         };
  116.         /* [3] */
  117.         {10, 20, 42, 52},
  118.         Icon {
  119.             disabled,
  120.             0
  121.         }
  122.     }
  123. };
  124.  
  125.  
  126. /* used when the space is very low */
  127.  
  128. resource 'DITL' (phSpaceIsLow,
  129. #if qNames
  130.     "phSpaceIsLow",
  131. #endif
  132.     purgeable) {
  133.     {    /* array DITLarray: 3 elements */
  134.         /* [1] */
  135.         {70, 198, 88, 272},
  136.         Button {
  137.             enabled,
  138.             "OK"
  139.         };
  140.         /* [2] */
  141.         {10, 70, 65, 272},
  142.         StaticText {
  143.             disabled,
  144.             "Memory space is low.  "
  145.             "Some commands may be disabled."
  146.         };
  147.         /* [4] */
  148.         {10, 20, 42, 52},
  149.         Icon {
  150.             disabled,
  151.             1
  152.         }
  153.     }
  154. };
  155.  
  156.  
  157. /* used when the user attempts to run an app on unsupported ROMs */
  158.  
  159. resource 'DITL' (phUnsupportedConfiguration,
  160. #if qNames
  161.     "phUnsupportedConfiguration",
  162. #endif
  163.     purgeable) {
  164.     {    /* array DITLarray: 3 elements */
  165.         /* [1] */
  166.         {120, 198, 138, 272},
  167.         Button {
  168.             enabled,
  169.             "OK"
  170.         };
  171.         /* [2] */
  172.         {10, 70, 115, 272},
  173.         StaticText {
  174.             disabled,
  175.             "Your computer lacks the required hardware or system software to run this application."
  176.         };
  177.         /* [3] */
  178.         {10, 20, 42, 52},
  179.         Icon {
  180.             disabled,
  181.             0
  182.         }
  183.     }
  184. };
  185.  
  186. /* used to confirm saving changes to a document when closing or quitting */
  187.  
  188. resource 'DITL' (phSaveChanges,
  189. #if qNames
  190.     "phSaveChanges",
  191. #endif
  192.     purgeable) {
  193.     {    /* array DITLarray: 5 elements */
  194.         /* [1] */
  195.         {74, 279, 94, 362},
  196.         Button {
  197.             enabled,
  198.             "Save"
  199.         },
  200.         /* [2] */
  201.         {74, 183, 94, 266},
  202.         Button {
  203.             enabled,
  204.             "Cancel"
  205.         },
  206.         /* [3] */
  207.         {74, 65, 94, 148},
  208.         Button {
  209.             enabled,
  210.             "Don't Save"
  211.         },
  212.         /* [4] */
  213.         {10, 65, 59, 363},
  214.         StaticText {
  215.             disabled,
  216.             "Save changes to the ^2 document “^0” bef"
  217.             "ore ^1?"
  218.         },
  219.         /* [5] */
  220.         {10, 20, 42, 52},
  221.         Icon {
  222.             disabled,
  223.             2
  224.         }
  225.     }
  226. };
  227.  
  228. /* used to confirm a Revert command */
  229.  
  230. resource 'DITL' (phRevert,
  231. #if qNames
  232.     "phRevert",
  233. #endif
  234.     purgeable) {
  235.     {    /* array DITLarray: 4 elements */
  236.         /* [1] */
  237.         {74, 299, 94, 362},
  238.         Button {
  239.             enabled,
  240.             "Revert"
  241.         },
  242.         /* [2] */
  243.         {74, 223, 94, 286},
  244.         Button {
  245.             enabled,
  246.             "Cancel"
  247.         },
  248.         /* [3] */
  249.         {13, 65, 62, 311},
  250.         StaticText {
  251.             disabled,
  252.             "Revert to the last saved version of “^0”"
  253.             "?"
  254.         },
  255.         /* [4] */
  256.         {10, 20, 42, 52},
  257.         Icon {
  258.             disabled,
  259.             2
  260.         }
  261.     }
  262. };
  263.  
  264.  
  265. /* used when a document changes unexpectedly on the disk; e.g., if
  266.     the document in on a file server and 2 people open it */
  267.  
  268. resource 'DITL' (phFileChanged,
  269. #if qNames
  270.     "phFileChanged",
  271. #endif
  272.     purgeable) {
  273.     {    /* array DITLarray: 4 elements */
  274.         /* [1] */
  275.         {110, 198, 128, 272},
  276.         Button {
  277.             enabled,
  278.             "OK"
  279.         };
  280.         /* [2] */
  281.         {110, 20, 128, 94},
  282.         Button {
  283.             enabled,
  284.             "Cancel"
  285.         };
  286.         /* [3] */
  287.         /*    ^0 = name of document
  288.             ^1 = the operation (e.g., 'save' or 'revert')
  289.         */
  290.         
  291.         {10, 70, 105, 272},
  292.         StaticText {
  293.             disabled,
  294.             "The disk copy of “^0” was changed since you last "
  295.             "opened or saved it.  Do you want to ^1 anyway?"
  296.         };
  297.         /* [4] */
  298.         {10, 20, 42, 52},
  299.         Icon {
  300.             disabled,
  301.             2
  302.         }
  303.     }
  304. };
  305.  
  306. /* Used when the document cannot be saved unless the original version is
  307.     deleted from the disk.    This gives the user a chance to confirm this. */
  308.     
  309. resource 'DITL' (phPurgeOld,
  310. #if qNames
  311.     "phPurgeOld",
  312. #endif
  313.     purgeable) {
  314.     {    /* array DITLarray: 4 elements */
  315.         /* [1] */
  316.         {125, 198, 143, 272},
  317.         Button {
  318.             enabled,
  319.             "OK"
  320.         };
  321.         /* [2] */
  322.         {125, 20, 143, 94},
  323.         Button {
  324.             enabled,
  325.             "Cancel"
  326.         };
  327.         /* [3] */
  328.         {10, 70, 120, 272},
  329.         StaticText {
  330.             disabled,
  331.             "There is not enough disk space to save the document "
  332.             "unless the existing copy is deleted first.  "
  333.             "Delete existing copy of “^0”?"
  334.         };
  335.         /* [4] */
  336.         {10, 20, 42, 52},
  337.         Icon {
  338.             disabled,
  339.             2
  340.         }
  341.     }
  342. };
  343.  
  344. /* used when the user opens the same document twice */
  345.  
  346. resource 'DITL' (phReopenDoc,
  347. #if qNames
  348.     "phReopenDoc",
  349. #endif
  350.     purgeable) {
  351.     {    /* array DITLarray: 3 elements */
  352.         /* [1] */
  353.         {70, 198, 88, 272},
  354.         Button {
  355.             enabled,
  356.             "OK"
  357.         };
  358.         /* [2] */
  359.         /*    ^0 = name of document
  360.         */
  361.         
  362.         {10, 70, 65, 272},
  363.         StaticText {
  364.             disabled,
  365.             "“^0” is already open."
  366.         };
  367.         /* [4] */
  368.         {10, 20, 42, 52},
  369.         Icon {
  370.             disabled,
  371.             1
  372.         }
  373.     }
  374. };
  375.  
  376.  
  377. /* used to offer a read-only copy of a file when writing isn't possible */
  378.  
  379. resource 'DITL' (phOfferReadOnly,
  380. #if qNames
  381.     "phOfferReadOnly",
  382. #endif
  383.     purgeable) {
  384.     {    /* array DITLarray: 4 elements */
  385.         /* [1] */
  386.         {80, 198, 98, 272},
  387.         Button {
  388.             enabled,
  389.             "OK"
  390.         };
  391.         /* [2] */
  392.         {80, 20, 98, 94},
  393.         Button {
  394.             enabled,
  395.             "Cancel"
  396.         };
  397.         /* [3] */
  398.         /*    ^0 = name of document */
  399.         {10, 70, 75, 272},
  400.         StaticText {
  401.             disabled,
  402.             "“^0” can’t be opened for writing.  Do you want to open it anyway?"
  403.         };
  404.         /* [4] */
  405.         {10, 20, 42, 52},
  406.         Icon {
  407.             disabled,
  408.             2
  409.         }
  410.     }
  411. };
  412.  
  413. /* Used in dialogs and TEViews when the user exceeds the # of characters */
  414.  
  415. resource 'DITL' (phTooManyChars,
  416. #if qNames
  417.     "phTooManyChars",
  418. #endif
  419.     purgeable) {
  420.     {    /* array DITLarray: 3 elements */
  421.         /* [1] */
  422.         {82, 198, 100, 272},
  423.         Button {
  424.             enabled,
  425.             "OK"
  426.         };
  427.         /* [2] */
  428.         {10, 70, 77, 272},
  429.         StaticText {
  430.             disabled,
  431.             "Cannot add any more characters here."
  432.         };
  433.         /* [3] */
  434.         {10, 20, 42, 52},
  435.         Icon {
  436.             disabled,
  437.             0
  438.         }
  439.     }
  440. };
  441.  
  442. resource 'DITL' (phStylesTooBig,
  443. #if qNames
  444.     "phStylesTooBig",
  445. #endif
  446.     purgeable) {
  447.     {    /* array DITLarray: 3 elements */
  448.         /* [1] */
  449.         {82, 198, 100, 272},
  450.         Button {
  451.             enabled,
  452.             "OK"
  453.         };
  454.         /* [2] */
  455.         {10, 70, 77, 272},
  456.         StaticText {
  457.             disabled,
  458.             "Cannot remember the styles associated with the text.  "
  459.             "The text is intact, however."
  460.         };
  461.         /* [3] */
  462.         {10, 20, 42, 52},
  463.         Icon {
  464.             disabled,
  465.             0
  466.         }
  467.     }
  468. };
  469.  
  470. resource 'ALRT' (phGenError,
  471. #if qNames
  472.     "phGenError",
  473. #endif
  474.     purgeable) {
  475.     {90, 110, 238, 402},
  476.     phGenError,
  477.     {    /* array: 4 elements */
  478.         /* [1] */
  479.         OK, visible, silent;
  480.         /* [2] */
  481.         OK, visible, silent;
  482.         /* [3] */
  483.         OK, visible, silent;
  484.         /* [4] */
  485.         OK, visible, silent
  486.     }
  487. #if SystemSevenOrLater
  488.     ,
  489.     alertPositionMainScreen
  490. #endif
  491. };
  492.  
  493. resource 'ALRT' (phCmdErr,
  494. #if qNames
  495.     "phCmdErr",
  496. #endif
  497.     purgeable) {
  498.     {90, 110, 238, 402},
  499.     phCmdErr,
  500.     {    /* array: 4 elements */
  501.         /* [1] */
  502.         OK, visible, silent;
  503.         /* [2] */
  504.         OK, visible, silent;
  505.         /* [3] */
  506.         OK, visible, silent;
  507.         /* [4] */
  508.         OK, visible, silent
  509.     }
  510. #if SystemSevenOrLater
  511.     ,
  512.     alertPositionMainScreen
  513. #endif
  514. };
  515.  
  516. resource 'ALRT' (phUnknownErr,
  517. #if qNames
  518.     "phUnknownErr",
  519. #endif
  520.     purgeable) {
  521.     {90, 110, 238, 402},
  522.     phUnknownErr,
  523.     {    /* array: 4 elements */
  524.         /* [1] */
  525.         OK, visible, silent;
  526.         /* [2] */
  527.         OK, visible, silent;
  528.         /* [3] */
  529.         OK, visible, silent;
  530.         /* [4] */
  531.         OK, visible, silent
  532.     }
  533. #if SystemSevenOrLater
  534.     ,
  535.     alertPositionMainScreen
  536. #endif
  537. };
  538.  
  539. resource 'ALRT' (phSpaceIsLow,
  540. #if qNames
  541.     "phSpaceIsLow",
  542. #endif
  543.     purgeable) {
  544.     {100, 110, 198, 402},
  545.     phSpaceIsLow,
  546.     {    /* array: 4 elements */
  547.         /* [1] */
  548.         OK, visible, silent;
  549.         /* [2] */
  550.         OK, visible, silent;
  551.         /* [3] */
  552.         OK, visible, silent;
  553.         /* [4] */
  554.         OK, visible, silent
  555.     }
  556. #if SystemSevenOrLater
  557.     ,
  558.     alertPositionMainScreen
  559. #endif
  560. };
  561.  
  562. resource 'ALRT' (phUnsupportedConfiguration,
  563. #if qNames
  564.     "phUnsupportedConfiguration",
  565. #endif
  566.     purgeable) {
  567.     {90, 110, 238, 402},
  568.     phUnsupportedConfiguration,
  569.     {    /* array: 4 elements */
  570.         /* [1] */
  571.         OK, visible, silent;
  572.         /* [2] */
  573.         OK, visible, silent;
  574.         /* [3] */
  575.         OK, visible, silent;
  576.         /* [4] */
  577.         OK, visible, silent
  578.     }
  579. #if SystemSevenOrLater
  580.     ,
  581.     alertPositionMainScreen
  582. #endif
  583. };
  584.  
  585. resource 'ALRT' (phSaveChanges,
  586. #if qNames
  587.     "phSaveChanges",
  588. #endif
  589.     purgeable) {
  590.     {86, 60, 190, 432},
  591.     phSaveChanges,
  592.     {    /* array: 4 elements */
  593.         /* [1] */
  594.         OK, visible, silent,
  595.         /* [2] */
  596.         OK, visible, silent,
  597.         /* [3] */
  598.         OK, visible, silent,
  599.         /* [4] */
  600.         OK, visible, silent
  601.     }
  602. #if SystemSevenOrLater
  603.     ,
  604.     alertPositionMainScreen
  605. #endif
  606. };
  607.  
  608. resource 'ALRT' (phRevert,
  609. #if qNames
  610.     "phRevert",
  611. #endif
  612.     purgeable) {
  613.     {86, 60, 190, 432},
  614.     phRevert,
  615.     {    /* array: 4 elements */
  616.         /* [1] */
  617.         Cancel, visible, silent,
  618.         /* [2] */
  619.         Cancel, visible, silent,
  620.         /* [3] */
  621.         Cancel, visible, silent,
  622.         /* [4] */
  623.         Cancel, visible, silent
  624.     }
  625. #if SystemSevenOrLater
  626.     ,
  627.     alertPositionMainScreen
  628. #endif
  629. };
  630.  
  631. resource 'ALRT' (phFileChanged,
  632. #if qNames
  633.     "phFileChanged",
  634. #endif
  635.     purgeable) {
  636.     {100, 110, 238, 402},
  637.     phFileChanged,
  638.     {    /* array: 4 elements */
  639.         /* [1] */
  640.         OK, visible, silent;
  641.         /* [2] */
  642.         OK, visible, silent;
  643.         /* [3] */
  644.         OK, visible, silent;
  645.         /* [4] */
  646.         OK, visible, silent
  647.     }
  648. #if SystemSevenOrLater
  649.     ,
  650.     alertPositionMainScreen
  651. #endif
  652. };
  653.  
  654. resource 'ALRT' (phPurgeOld,
  655. #if qNames
  656.     "phPurgeOld",
  657. #endif
  658.     purgeable) {
  659.     {100, 110, 253, 402},
  660.     phPurgeOld,
  661.     {    /* array: 4 elements */
  662.         /* [1] */
  663.         OK, visible, silent;
  664.         /* [2] */
  665.         OK, visible, silent;
  666.         /* [3] */
  667.         OK, visible, silent;
  668.         /* [4] */
  669.         OK, visible, silent
  670.     }
  671. #if SystemSevenOrLater
  672.     ,
  673.     alertPositionMainScreen
  674. #endif
  675. };
  676.  
  677. resource 'ALRT' (phReopenDoc,
  678. #if qNames
  679.     "phReopenDoc",
  680. #endif
  681.     purgeable) {
  682.     {100, 110, 198, 402},
  683.     phReopenDoc,
  684.     {    /* array: 4 elements */
  685.         /* [1] */
  686.         OK, visible, silent;
  687.         /* [2] */
  688.         OK, visible, silent;
  689.         /* [3] */
  690.         OK, visible, silent;
  691.         /* [4] */
  692.         OK, visible, silent
  693.     }
  694. #if SystemSevenOrLater
  695.     ,
  696.     alertPositionMainScreen
  697. #endif
  698. };
  699.  
  700. resource 'ALRT' (phOfferReadOnly,
  701. #if qNames
  702.     "phOfferReadOnly",
  703. #endif
  704.     purgeable) {
  705.     {100, 110, 208, 402},
  706.     phOfferReadOnly,
  707.     {    /* array: 4 elements */
  708.         /* [1] */
  709.         OK, visible, silent;
  710.         /* [2] */
  711.         OK, visible, silent;
  712.         /* [3] */
  713.         OK, visible, silent;
  714.         /* [4] */
  715.         OK, visible, silent
  716.     }
  717. #if SystemSevenOrLater
  718.     ,
  719.     alertPositionMainScreen
  720. #endif
  721. };
  722.  
  723. resource 'ALRT' (phTooManyChars,
  724. #if qNames
  725.     "phTooManyChars",
  726. #endif
  727.     purgeable) {
  728.     {100, 110, 210, 402},
  729.     phTooManyChars,
  730.     {    /* array: 4 elements */
  731.         /* [1] */
  732.         OK, visible, silent;
  733.         /* [2] */
  734.         OK, visible, silent;
  735.         /* [3] */
  736.         OK, visible, silent;
  737.         /* [4] */
  738.         OK, visible, silent
  739.     }
  740. #if SystemSevenOrLater
  741.     ,
  742.     alertPositionMainScreen
  743. #endif
  744. };
  745.  
  746. resource 'ALRT' (phStylesTooBig,
  747. #if qNames
  748.     "phStylesTooBig",
  749. #endif
  750.     purgeable) {
  751.     {100, 110, 210, 402},
  752.     phStylesTooBig,
  753.     {    /* array: 4 elements */
  754.         /* [1] */
  755.         OK, visible, silent;
  756.         /* [2] */
  757.         OK, visible, silent;
  758.         /* [3] */
  759.         OK, visible, silent;
  760.         /* [4] */
  761.         OK, visible, silent
  762.     }
  763. #if SystemSevenOrLater
  764.     ,
  765.     alertPositionMainScreen
  766. #endif
  767. };
  768.  
  769. /* list mapping error codes to failure reasons */
  770.  
  771. resource 'errs' (errReasonID,
  772. #if qNames
  773.     "errReasonID",
  774. #endif
  775.     purgeable) {
  776.     {    whichList, 0, errReasonIDStrings;
  777.         -117, -108, 4;        // Memory Manager errors
  778.         -42, -42, 21;        // too many files are open
  779.         -47, -47, 7;        // files are open
  780.         -49, -49, 7;        // can't have > 1 writer to a file
  781.         -54, -54, 6;        // can't open locked file for writing
  782.         -45, -45, 6;        // file locked
  783.         -46, -44, 3;        // volumes locked
  784.         -34, -33, 2;        // disk full
  785.         -53, -53, 20;        // volume offline
  786.         -84, -33, 5;        // other File Manager / disk errors
  787.         -124, -124, 14;     // Lost volume on AppleTalk
  788.         -127, -120, 5;        // HFS errors
  789.         -27, -27, 10;        // printer I/O error
  790.         -192, -192, 22;        // Resource not found
  791.         -20000, -20000, 8;    // MacApp error code: could not spool print file
  792.         -20001, -20001, 11; // MacApp error code: could not revert because file was deleted
  793.         -20003, -20003, 12; // MacApp error code: user tried to Save As or Save a Copy
  794.                             // in an opened document
  795.         -20004, -20004, 13; // MacApp error code: user did Revert but file type changed
  796.         -4101, -4101, 9;    // printer not found (PAP)
  797.         -4100, -4096, 10;    // printer comm error
  798.         -5000, -5000, 15;    // AFP access error
  799.         -5006, -5006, 7;    // AFP: deny conflict
  800.         -5029, -5000, 14;    // AFP errors
  801.         -20005, -20005, 16; // MacApp error code: printer driver file not found
  802.         -95, -91, 17;        // AppleTalk operation errors
  803.         -98, -97, 18;        // AppleTalk could not be opened
  804.         -20006, -20006, 19; // Can't open file of given type
  805.         -20007, -20007, 23; // Function is not yet implemented
  806.         -20008, -20008, 24; // Class is missing. (Usually due to dead stripping)
  807.         -20009, -20009, 25; // Signature has no corresponding class
  808.         minErr, maxErr, 1
  809.     }
  810. };
  811.  
  812.  
  813. /* list mapping error codes to recovery strings */
  814.  
  815. resource 'errs' (errRecoveryID,
  816. #if qNames
  817.     "errRecoveryID",
  818. #endif
  819.     purgeable) {
  820.     {    whichList, 0, errRecoveryIDStrings;
  821.         -42, -42, 4;
  822.         -45, -45, 1;
  823.         -4101, -4101, 2;
  824.         -20003, -20003, 3;
  825.         -20005, -20005, 2;
  826.         -20008, -20008, 5;
  827.         -20009, -20009, 5
  828.     }
  829. };
  830.  
  831. /* error explanations */
  832.  
  833. resource 'STR#' (errReasonIDStrings,
  834. #if qNames
  835.     "error explanations",
  836. #endif
  837.     purgeable) {
  838.     {    /* [1] */    "of a program error";                                // catch-all
  839.         /* [2] */    "the disk is full";
  840.         /* [3] */    "the disk is locked";
  841.         /* [4] */    "there is not enough memory";
  842.         /* [5] */    "of a disk error";
  843.         /* [6] */    "the file is locked";
  844.         /* [7] */    "the file is already in use or was left open";
  845.         /* [8] */    "of a problem writing the print file";
  846.         /* [9] */    "the printer could not be found";
  847.         /* [10] */    "of a problem communicating with the printer";
  848.         /* [11] */    "its disk copy was deleted";
  849.         // used when user picks Revert and file was deleted
  850.  
  851.         /* [12] */    "that document is currently open";
  852.         // used when user does Save As or Save a Copy In and specifies a document that is already open
  853.  
  854.         /* [13] */    "its disk copy was changed";
  855.         // used when user does a Revert and the file type has been changed
  856.  
  857.         /* [14] */    "of a problem with the file server";                // catch-all AFP error
  858.         /* [15] */    "you do not have the necessary access privileges";    // AFP: access denied
  859.         /* [16] */    "the selected printing resource could not be found";// Couldn't open print driver
  860.         /* [17] */    "of a problem with AppleTalk";                        // AppleTalk operation errors
  861.         /* [18] */    "AppleTalk is not connected";                        // AppleTalk open errors
  862.         /* [19] */    "it is not the right kind of document";                // File is the wrong type
  863.         /* [20] */    "the disk is not available";
  864.         // Volume is offline: asynch I/O or command-.
  865.  
  866.         /* [21] */    "there are too many files open";                    // Resource not found
  867.         /* [22] */    "the required resources were not found";
  868.         /* [23] */    "this feature is not implemented";
  869.         /* [24] */    "“^3”, an internal component, is missing";            // Missing class
  870.         /* [25] */    "an internal component is missing"                    // Missing signature
  871.  
  872.     }
  873. };
  874.  
  875.  
  876. /* recovery strings */
  877.  
  878. resource 'STR#' (errRecoveryIDStrings,
  879. #if qNames
  880.     "recovery strings",
  881. #endif
  882.     purgeable) {
  883.     {    /* [1] */    "Use the “Get Info” command in the Finder"
  884.                         " to unlock the file.";
  885.         /* [2] */    "Use “Chooser” to select a printer and try again.";
  886.         // this is used if (1) the chosen LaserWriter can't be found or
  887.         // (2) the chosen printer driver file can't be found
  888.  
  889.         /* [3] */    "Save using a different name, or close the document and try again.";
  890.         /* [4] */    "Try closing some windows and try again.";
  891. #if qDebug
  892.         /* [5] */    "Call Apple for a secret decoder ring."
  893. #else
  894.         /* [5] */    "Please contact the developer."
  895. #endif
  896.     }
  897. };
  898.  
  899. /* strings describing the operation; these are used in error alerts */
  900. resource 'STR#' (errOperationsIDStrings,
  901. #if qNames
  902.     "strings describing the operation",
  903. #endif
  904.     purgeable) {
  905.     {    /* [1] */    "start the application";
  906.         /* [2] */    "save “^3”";
  907.         /* [3] */    "revert to the previous version of “^3”";
  908.         /* [4] */    "print “^3”";
  909.         /* [5] */    "create a new document";
  910.         /* [6] */    "open “^3”";
  911.         /* [7] */    "save as “^3”";
  912.         /* [8] */    "save a copy in “^3”";
  913.         /* [9] */    "display the contents of the window";
  914.         /* [10] */    "make the clipboard available inside the application";
  915.         /* [11] */    "make the clipboard available outside the application"
  916.         
  917.     }
  918. };
  919.  
  920.